// package com.shuai.AI.ai_app.rag.config;
//
// import static
// org.springframework.ai.vectorstore.pgvector.PgVectorStore.PgDistanceType.COSINE_DISTANCE;
//
// import com.shuai.AI.ai_app.readers.LoveAppDocumentReader;
// import com.shuai.AI.rag.readers.LoveAppDocumentReader;
// import jakarta.annotation.Resource;
// import java.util.List;
// import org.springframework.ai.document.Document;
// import org.springframework.ai.embedding.EmbeddingModel;
// import org.springframework.ai.vectorstore.VectorStore;
// import org.springframework.ai.vectorstore.pgvector.PgVectorStore;
// import org.springframework.context.annotation.Bean;
// import org.springframework.context.annotation.Configuration;
// import org.springframework.jdbc.core.JdbcTemplate;
//
//// 为方便开发调试和部署，临时注释，如果需要使用 PgVector 存储知识库，取消注释即可
// @Configuration
// public class PgVectorVectorStoreConfig {
//
//  @Resource private LoveAppDocumentReader loveAppDocumentReader;
//
//  @Bean
//  public VectorStore pgVectorVectorStore(
//      JdbcTemplate jdbcTemplate, EmbeddingModel dashscopeEmbeddingModel) {
//    VectorStore vectorStore =
//        PgVectorStore.builder(jdbcTemplate, dashscopeEmbeddingModel)
//            .dimensions(1536) // Optional: defaults to model dimensions or 1536
//            .distanceType(COSINE_DISTANCE) // Optional: defaults to COSINE_DISTANCE
//            .indexType(PgVectorStore.PgIndexType.HNSW) // Optional: defaults to HNSW
//            .initializeSchema(true) // Optional: defaults to false
//            .schemaName("public") // Optional: defaults to "public"
//            .vectorTableName("vector_store") // Optional: defaults to "vector_store"
//            .maxDocumentBatchSize(10000) // Optional: defaults to 10000
//            .build();
//    // 加载文档
//    List<Document> documents = loveAppDocumentReader.loadMarkdowns();
//    vectorStore.add(documents);
//    return vectorStore;
//  }
// }
